// 导入模块

// const demo = require('./me.js')

// 省略后缀 js 可以省略
const demo = require('./me')

// ./ ../ 会报错
// const demo = require('me.js')

demo()

/**
 * 导入模块的基本流程
 * 1、将相对路径转化为绝对路径，定位目标文件
 * 2、缓存检测
 * 3、读取目标文件代码
 * 4、包裹为一个函数并执行(自执行函数)，通过 arguments.callee.toString() 获取模块代码
 * 5、缓存模块的值
 * 6、返回 module.exports 的值
 */